const myCurry = (func) => {
  return function contentFun(...args) {
    if (func.length !== args.length) {
      return function() {
        console.log(args.concat(Array.from(arguments)), '...');
        return contentFun(...args.concat(Array.from(arguments)));
      }
    }
    return func.apply(func, args);
  }
};

const obj = {
  a: 1,
  b: 2,
  c: 3,
  d: 4
};
const curryDelete = myCurry(Reflect.deleteProperty);
const deleteCommon = curryDelete(obj);
const arrAttribute = ['a', 'b', 'd', 'f'];
obj.e = obj.d + 1;
// deleteCommon('a');
// deleteCommon('b');
// deleteCommon('d');
// deleteCommon('f');
arrAttribute.forEach(attribute => deleteCommon(attribute));
// console.log(obj);
